package vista;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Set;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;

import negocio.beans.central.Stock;

import controlador.CasaCentral;



public class RodamientosModificacion extends javax.swing.JFrame {

	private static final long serialVersionUID = 1L;
	private JButton btnAceptar;
	private JLabel lblCantidad;
	private JTextField txtCantidad;

	private String codigoEstandar;
	private String cantidad;
	
	private JTable tblRodamientos;
	

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				RodamientosModificacion inst = new RodamientosModificacion();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public RodamientosModificacion() {
		super();
		initGUI();
		CentrarJFrame();
		
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setBackground(new java.awt.Color(202,203,251));
			this.setTitle("Modificacion de Stock de Rodamiento");
			getContentPane().setLayout(null);
			{
				btnAceptar = new JButton();
				getContentPane().add(btnAceptar);
				btnAceptar.setText("Aceptar");
				btnAceptar.setBounds(122, 65, 108, 21);
				btnAceptar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						CasaCentral.getInstancia().modificarStock(codigoEstandar, Integer.parseInt(txtCantidad.getText()));
						
						LlenarTablaRodamientos();
						dispose();
					}
				});
			}
			{
				txtCantidad = new JTextField();
				getContentPane().add(txtCantidad);
				txtCantidad.setBounds(122, 32, 107, 21);
			}
			{
				lblCantidad = new JLabel();
				getContentPane().add(lblCantidad);
				lblCantidad.setText("Cantidad");
				lblCantidad.setBounds(128, 12, 101, 14);
				lblCantidad.setHorizontalAlignment(SwingConstants.CENTER);
			}
			pack();
			this.setSize(339, 137);
		} catch (Exception e) {
		    
			e.printStackTrace();
		}
	}

	public String getCodigoEstandar() {
		return codigoEstandar;
	}

	public void setCodigoEstandar(String codigoEstandar) {
		this.codigoEstandar = codigoEstandar;
	}

	public String getCantidad() {
		return cantidad;
	}

	public void setCantidad(String cantidad) {
		this.cantidad = cantidad;
		txtCantidad.setText(cantidad);
	}

	private void CentrarJFrame(){
		
	    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
	    
	    
	    int w = this.getSize().width;
	    int h = this.getSize().height;
	    int x = (dim.width-w)/2;
	    int y = (dim.height-h)/2;
	    
	    
	    this.setLocation(x, y);
	}

	public JTable getTblRodamientos() {
		return tblRodamientos;
	}

	public void setTblRodamientos(JTable tblRodamientos) {
		this.tblRodamientos = tblRodamientos;
	}
	
	private void LlenarTablaRodamientos(){
		Set<Stock> stock = CasaCentral.getInstancia().obtenerStock();
		
		DefaultTableModel temp = (DefaultTableModel) tblRodamientos.getModel();
		
		for(int i = 1; i<temp.getRowCount();i++){
			temp.removeRow(i);	
		}
		
		for(Stock s : stock){
			Object nuevo[]= {s.getRodamiento().getCodigoEstandar(),s.getCantidadInterna()};
			temp.addRow(nuevo);
		}
	}
}
